草庐IT

Javascript if条件为 bool 值

全部标签

javascript - TypeScript - 是否有一个选项可以禁止在除 bool 值之外的任何内容之前使用“!”?

我知道这可能是一个典型的javascript问题,但我发现自己经常使用:if(!something){//...}在TypeScript中验证此something不是undefined或null。这很容易出错!当用于number时,“0”将匹配,当用于enum时,第一项也将匹配(默认情况下,第一项的值为“0”")!有没有办法在TypeScript中处理这个问题?有没有办法配置TypeScript以禁止在除boolean(和any)之外的任何内容前面使用感叹号?这种配置有意义还是我遗漏了一些微不足道的东西?应该:if(something===null||something===undef

javascript - 面积图有条件填写d3.js

我有一个面积图(应该代表一个时间序列)。我想根据y值给图形上色,这样对于y>c的区域它是一种颜色,对于y这是我生成单色图的代码:varwidth=700,height=400;varvis=d3.select("#chart").append("svg").attr("width",width).attr("height",height);varmpts=[{"x":0,"val":15}];varn=200;for(vari=0;i.5){mpts=mpts.concat({"x":i+1,"val":mpts[i].val*(1.01)});}else{mpts=mpts.conc

javascript - 复杂的javascript条件表达式

解释这个复杂的javascript表达式的正确方法是什么?一些_条件?a=b:c=d=e;遵循运算符优先级规则,我希望它是:(some_condition?a=b:c)=d=e;但是看起来分组实际上是:编辑:(原来的分组不清楚。更新见下文)编辑:some_condition?a=b:(c=d=e);为什么会这样?(不,我没有写那个代码)编辑:这似乎表明在Javascript中说?:的优先级高于=并不完全正确。再举个例子:x=y?a=b:c=d=e;如果?:的优先级高于=(如在C中),则分组将是x=((y?a=b:c)=(d=e));而是(从答案中)我们拥有的是x=(y?a=b:(c=d

javascript - for循环中的多个条件

如何编写具有多个条件的for循环?预期的Javascript:for(k=1;k1234;k++){myThing.action();}js2coffee.org指出我应该使用while循环:k=1whilek1234myThing.action()k++但这最终会编译回javascript中的while循环。有没有一种方法可以编写coffeescript来编译成我想要的javascript并在for循环本身中包含额外的条件?如果该问题的答案是错误的,那么使用coffeescript获得相同功能的最佳方式是什么?到目前为止,我最好的while循环解决方案是k=1myThing.acti

javascript - React Router VS 条件渲染

我对使用ReactRouter和常规条件渲染方法之间的核心差异(尤其是关于性能)感到困惑。我的意思是“常规条件渲染方法”,例如:我们可以在父组件中设置一个状态,并将其作为子组件的props传递,我们根据要求有条件地更新此类状态,子组件将根据其Prop重新呈现不同的内容。我认为它可以实现与使用ReactRouter完全相同的目标,那么为什么我们还需要Reactrouter?使用ReactRouter会带来更好的性能体验还是什么(假设我们不需要历史功能)? 最佳答案 ReactRouter本身使用条件渲染,并且完全可以用条件渲染替换它的

javascript - 页面中的条件 onbeforeunload 事件

window.onbeforeunload=function(evt){varmessage='Areyousureyouwanttoleavethepage.Alldatawillbelost!';if(typeofevt==='undefined'){evt=window.event;}if(evt&&!($("#a_exit").click)){evt.returnValue=message;}returnmessage;};我希望用户离开页面时只点击链接(具有id="a_exit")。在其他情况下,如刷新页面,点击另一个链接,将提示用户是否要离开页面。我试过使用上面的代码。当我

javascript - 无法找到条件模板 - Controller 'mdRadioGroup',指令 'mdRadioButton' 需要

我正在尝试构建允许我在调查中显示问题的自定义指令。因为我有多种类型的问题,所以我考虑过创建单个指令并根据问题类型更改它的模板。我的指令:directive('question',function($compile){varcombo='COMBO-{{content.text}}';varradio=['RADIO-{{content.text}}','','{{a.text}}','',''].join('');varinput=['INPUT-{{content.text}}','','','',''].join('');vargetTemplate=function(conten

javascript - 如何使用javascript reduce函数计算满足特定条件的项目的平均值?

假设我有以下对象数组:vararr=[{"name":"John","score":"8.8"},{"name":"John","score":"8.6"},{"name":"John","score":"9.0"},{"name":"John","score":"8.3"},{"name":"Tom","score":"7.9"}];varcount=0;varavgScore=arr.reduce(function(sum,person){if(person.name=="John"){count+=1;returnsum+parseFloat(person.score);}ret

javascript - JavaScript 中 bool switch 语句的目的是什么?

我刚刚在别人的JavaScript代码中遇到了一个booleanswitch语句。它看起来有点像这样:switch(a||b){casetrue://dosomestuffbreak;default://dootherstuffbreak;}我从事编程的时间并不长,但我以前肯定从未见过这样的事情。这似乎有点愚蠢,但我想给程序员带来疑问。上面的代码和下面的代码在功能上有什么区别吗:if(a||b){//dosomestuff}else{//dootherstuff}如果有,那是什么? 最佳答案 是的,有区别。考虑到您的示例,vara=

javascript - 带 OR 条件的 Backbone 集合 where 子句

我已经搜索了很长时间,但无法找到带有or条件的where子句的方法。例如,如果我有一个集合Cars并且我尝试执行以下操作:Cars.where({model:1998,color:'Black',make:'Honda'})所以上面的代码将搜索car其model是1998ANDcolor是BlackANDmake是Honda。但我需要一种方法来获得满足三个条件之一的汽车。 最佳答案 Cars.filter(function(car){returncar.get("model")===1998||car.get("color")===